

// 检查数据库配置文件是否存在
// (async () => {
//     try {
//         await fs.access(MYSQL_CONFIG_PATH);
//         const sqlConf = require(MYSQL_CONFIG_PATH);

//         // 尝试连接数据库, 先不指定数据库名, 以判断是否初始化

//         await mysql.createConnection({
//             host: sqlConf.host,
//             port: sqlConf.port ? sqlConf.port : 3306,
//             user: sqlConf.user,
//             password: sqlConf.password,
//         })
//             .then(async (connection) => {
//                 console.log(`数据库连接成功, 正在检测初始化状态`);
//                 try {
//                     // 检查数据库是否存在
//                     await connection.query(`USE ${sqlConf.database}`);
//                     // 检查表是否存在
//                     var [tables] = await connection.query(`SHOW TABLES`);
//                     var tableNames = await tables.map(table => Object.values(table)[0]);
//                     if (tableNames.includes('users') && tableNames.includes('data')) {
//                         console.log("数据库已初始化");
//                     } else {
//                         throw new Error('数据库未初始化');
//                     }
//                 } catch (error) {
//                     console.log('正在初始化数据库');
//                     // 初始化数据库
//                     await connection.query(`CREATE DATABASE IF NOT EXISTS ${sqlConf.database}`);
//                     await connection.query(`USE ${sqlConf.database}`);
//                     await connection.query(`CREATE TABLE users(
//                         id INT PRIMARY KEY AUTO_INCREMENT,
//                         username VARCHAR(255) NOT NULL UNIQUE,
//                         hash_password VARCHAR(255) NOT NULL
//                         );`);
//                     await connection.query(`CREATE TABLE data(
//                         id INT PRIMARY KEY AUTO_INCREMENT,
//                         user_id INT NOT NULL,
//                         type TINYINT NOT NULL CHECK (type IN (0, 1)),
//                         date DATE NOT NULL,
//                         resume VARCHAR(255) NOT NULL,
//                         description VARCHAR(255) NOT NULL,
//                         amount DECIMAL(10, 2) NOT NULL
//                         );`);
//                 } finally {
//                     // 关闭测试的数据库连接
//                     connection.end();

//                     // 创建mysql连接池并导出
//                     module.exports = mysql.createPool(sqlConf);
//                 }
//             })
//             .catch((error) => {
//                 console.log(`数据库连接失败, 请检查配置文件或数据库是否正常运行: ${error.message}`);
//                 process.exit(1);
//             });
//     } catch (error) {
//         console.log(`数据库配置文件丢失`);
//         process.exit(1);
//     }
// })();